<?php

include_once("../../config.php");
include_once("../../db_connect.php");

	
if($action == "save"){
	
	extract($_POST);
	
	if(isset($id) && $id != ""){
		$eventoDAO = new EventoDAO();
		$evento = $eventoDAO->get($id);
	}else{
		$evento = new Evento();
	}
	
	//grava a foto
	if(isset($_FILES["foto"]) && $_FILES["foto"] != "" ){
		$foto = $_FILES["foto"];
	
		// Se a foto estiver sido selecionada
		if (!empty($foto["name"])) {
				
			// Se não houver nenhum erro
			if ($foto["error"] == 0) {
					
				// Pega extensão da imagem
				preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
	
				// Gera um nome único para a imagem
				$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
	
				// Caminho de onde ficará a imagem
				$caminho_imagem = "../views/images/fotos/" . $nome_imagem;
	
				//apaga a imagem antiga	se houver
				if($evento->getFoto() == ""){
					$caminho_imagem_antiga = "../views/images/fotos/".$evento->getFoto();
					@unlink($caminho_imagem_antiga);
				}
	
				// Faz o upload da imagem para seu respectivo caminho
				if (move_uploaded_file($foto["tmp_name"], $caminho_imagem)){
					$atualiza_imagem = true;
				}else{
					$atualiza_imagem = false;
				}
	
			}
	
		}
	
	}//fim gravacao foto
	
	$evento->setNome($nome);
	$evento->setDescricao($descricao);
	$evento->setInicio($inicio);
	$evento->setTermino($termino);
	$evento->setInicioInscricao($inicioInscricao);
	$evento->setTerminoInscricao($terminoInscricao);
	
	(isset($valorUnico))? $evento->setValorUnico($valorUnico) : $evento->setValorUnico(0);
	$evento->setValor($valor);
	(isset($certificadoUnico))? $evento->setCertificadoUnico($certificadoUnico) : $evento->setCertificadoUnico(0);
	
	($atualiza_imagem == true && $foto != "")? $evento->setFoto($nome_imagem) : $evento->setFoto($evento->getFoto());
	
	$evento->setDataModificacao( new DateTime("now") );
	
	$eventoDAO = new EventoDAO();
		
	try {
		$eventoDAO->save($evento);
		SystemMessage::createMessage("Evento salvo com sucesso!", SystemMessage::TYPE_SUCCESS);
	} catch (Exception $e) {
		SystemMessage::createMessage("Um erro ocorreu! Não foi possível concluir a operação.", SystemMessage::TYPE_ERROR, $e->getMessage());
	}
		
	header("Location: ../views/eventos.php");
}


if($action == "excluir"){
	if(isset($_GET["id"])){
		$id = $_GET["id"];
		
		$eventoDAO = new EventoDAO();
		try {
			$eventoDAO->delete($id);
			SystemMessage::createMessage("Evento removido com sucesso!", SystemMessage::TYPE_SUCCESS);
		} catch (Exception $e) {
			SystemMessage::createMessage("Um erro ocorreu! Não foi possível concluir a operação.", SystemMessage::TYPE_ERROR, $e->getMessage());
		}		
		
	}
	//$_SESSION["refresh"] = true;
	header("Location: ../views/eventos.php");
	
}

if($action == "editar"){
	if(isset($_GET["id"])){
		$id = $_GET["id"];		
		
		$eventoDAO = new EventoDAO();
		$evento = $eventoDAO->get($id);
		
		//joga o objeto na sessao
		$_SESSION["evento"] = serialize( $evento );
		
		
		//Joga o eventoAtivo na sessão
		$eventoDAO = new EventoDAO();
		$eventoAtivo = $eventoDAO->get($id);
		$_SESSION["eventoAtivo"] = serialize( $eventoAtivo );
	}
	
	header("Location: ../views/cad_eventos.php");
}


if($action == "novo"){
		
	$evento = new Evento();
	$_SESSION["evento"] = serialize( $evento );
	
	
	//Remove o eventoAtivo da sessão
	$_SESSION["eventoAtivo"] = null;
	
	header("Location: ../views/cad_eventos.php");
}

?>